/**
 * 视频Api
 * @author Blurryface
 */

import { HSYIIRequest } from '/utils/request';

// 定义 request 函数，明确接收固定参数
const baseRequest = (url, ...arg) => HSYIIRequest(`io_video/` + url, ...arg);

export default {
    /**
     * 推荐视频列表
     * @param {Object} data 请求数据
     * @returns {Promise} 请求的 Promise 对象
     */
    Gf_video_list_API(data) {
        return baseRequest('gf_video_list', data, 'post');
    },

    /**
     * 视频分类板块列表
     * @param {Object} data 请求参数
     * @returns {Promise} 请求的 Promise 对象
     */
    Gf_type_video_list_API(data) {
        return baseRequest('gf_type_video_list', data, 'post');
    },

    /**
     * 通过标题关键字搜索视频内容
     * @param {Object} data 请求参数
     * @returns {Promise} 请求的 Promise 对象
     */
    Search_video_API(data) {
        return baseRequest('search_video', data, 'post');
    },

    /**
     * 获取视频主页详情信息
     * @param {Object} data 请求参数
     * @returns {Promise} 请求的 Promise 对象
     */
    Get_video_detail_API(data) {
        return baseRequest('get_video_detail', data, 'post');
        // return baseRequest('get_video_detail', data, 'post', true);
    },

    /**
     * 获取视频观看历史记录
     * @param {Object} data 请求参数
     * @param {boolean} encrypt 是否加密，用户登录后请求，会获取用户相关的参数，需加密；用户未登录则不加密
     * @returns {Promise} 请求的 Promise 对象
     */
    Get_video_watch_history_API(data) {
        return baseRequest('get_video_watch_history', data, 'post', true);
    },

    /**
     * 添加视频观看历史记录
     * @param {Object} data 请求参数
     * @returns {Promise} 请求的 Promise 对象
     */
    Add_video_watch_history_API(data) {
        return baseRequest('add_video_watch_history', data, 'post', true);
    },

    /**
     * 删除观看视频记录
     * @param {Object} data 请求参数
     * @returns {Promise} 请求的 Promise 对象
     */
    Del_video_watch_history_API(data) {
        return baseRequest('del_video_watch_history', data, 'post', true);
    },

    /**
     * 添加视频下载记录（添加视频缓存记录）
     * @param {Object} data 请求参数
     * @returns {Promise} 请求的 Promise 对象
     */
    Add_download_record_API(data) {
        return baseRequest('add_download_record', data, 'post', true);
    },

    /**
     * 用于获取指定单位的所有视频
     * @param {Object} data 请求参数
     * @returns {Promise} 请求的 Promise 对象
     */
    Get_club_video_API(data) {
        return baseRequest('get_club_video', data, 'post');
    },

    /**
     * 判断是否已购买视频
     * @param {Object} data 请求参数
     * @returns {Promise} 请求的 Promise 对象
     */
    Is_buy_video_API(data) {
        return baseRequest('Is_buy_video', data, 'post', true);
    },

    /**
     * 购买点播订单确认界面拉取数据
     * @param {Object} data 请求参数
     * @returns {Promise} 请求的 Promise 对象
     */
    Get_video_product_API(data) {
        return baseRequest('Get_video_product', data, 'post');
    },

    /**
     * 用户付费时创建订单
     * @param {Object} data 请求参数
     * @returns {Promise} 请求的 Promise 对象
     */
    Add_video_order_API(data) {
        return baseRequest('Add_video_order', data, 'post', true);
    },

    /**
     * GF会员用户发布短视频
     * @param {Object} data 请求参数
     * @returns {Promise} 请求的 Promise 对象
     */
    Gf_publish_short_video_API(data) {
        return baseRequest('gf_publish_short_video', data, 'post', true);
    },

    /**
     * 获取用户发布的短视频的内容
     * @param {Object} data 请求参数
     * @returns {Promise} 请求的 Promise 对象
     */
    Get_short_video_info_API(data) {
        return baseRequest('get_short_video_info', data, 'post', true);
    },

    /**
     * GF会员 撤销/删除 发布短视频
     * @param {Object} data 请求参数
     * @returns {Promise} 请求的 Promise 对象
     */
    Control_short_video_API(data) {
        return baseRequest('control_short_video', data, 'post', true);
    },

    /**
     * GF会员 设置短视频 可视范围
     * @param {Object} data 请求参数
     * @returns {Promise} 请求的 Promise 对象
     */
    Set_short_video_show_area_API(data) {
        return baseRequest('set_short_video_show_area', data, 'post', true);
    },

    /**
     * GF会员获取个人发布的短视频
     * @param {Object} data 请求参数
     * @returns {Promise} 请求的 Promise 对象
     */
    User_short_video_API(data) {
        return baseRequest('user_short_video', data, 'post', true);
    },

    /**
     * 获取已发布短视频显示在个人资料我的视频中
     * @param {Object} data 请求参数
     * @returns {Promise} 请求的 Promise 对象
     */
    Video_series_API(data) {
        return baseRequest('Video_series', data, 'post', true);
    }
};